---
title: Determine policy minimum premium
summary: Retrieves the minimum premium and expense constant amounts for a premium-history set via a stored procedure, silently defaulting to zero on failure.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.Policy
reference_type: embedded
operation_id: OP-POL-007
trigger: Caller reads PolicyInformation.PolicyMinimumPremium
---

# Determine policy minimum premium

Calls the Oracle stored procedure `pk73069_rating_procs.get_minimum_expense_constant` to compute the minimum premium amount for a premium-history set, with any execution failure silently swallowed.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-POL-007 |
| **Trigger** | Caller reads `PolicyInformation.PolicyMinimumPremium(inDPI, inPremHistSetID)` |
| **Inputs** | Data portal info, premium-history set ID |
| **Outputs** | Decimal (0 on failure or no result) |
| **Primary components** | `PolicyInformation.PolicyMinimumPremium` |
| **Entry point** | `SAIF.Business.Policy\PolicyInformation.vb` |

## Steps

1. Caller reads `PolicyInformation.PolicyMinimumPremium(inDPI, inPremHistSetID)`.
2. A stored-procedure call is issued: `pk73069_rating_procs.get_minimum_expense_constant` ([SQL-010](../sql/SQL-010-policy-minimum-premium-procedure.md)), `CommandType = StoredProcedure`, input `in_prem_hist_set_id`, outputs `out_minimum_premium_amount` and `out_expense_constant_amount`.
   - Origin note: the procedure body resides in the Oracle database ([pk73069_rating_procs](../procedures/pk73069-rating-procs.md), status `not-found` — retrieval not performed this run).**
3. Execution is wrapped in `Try...Catch` with an **empty Catch block** — any provider/database exception is silently swallowed.**
   - On failure: no error is surfaced to the caller; execution falls through to step 4.
4. If `Result` is not `Nothing`, the output parameter `out_minimum_premium_amount` is read as the return value; otherwise `0` is returned.

## Process flow

```mermaid
flowchart TD
	Start([PolicyMinimumPremium read]) --> S1[Build stored-proc call SQL-010]
	S1 --> S2[Bind in_prem_hist_set_id]
	S2 --> Try{Try execute}
	Try -->|Exception| Swallow[Empty Catch - exception swallowed]
	Swallow --> D2{Result is Nothing?}
	Try -->|Success| D2
	D2 -->|Yes| EndZero([Return 0])
	D2 -->|No| EndVal([Return out_minimum_premium_amount])
```

## Failure and edge-case behavior
- The empty `Catch` block silently swallows any stored-procedure execution failure; whether this is intentional "default to zero" behavior or an unhandled-error gap could not be confirmed from source alone.**
- `out_expense_constant_amount` is read into a local variable but never consumed by the caller — only `MinPremium` is returned.*

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Business.Policy\PolicyInformation.vb`
